Add Composite Child machinery and APIs to GtkWidget
authorTristan Van Berkom <tristanvb@openismus.com>
Wed, 20 Mar 2013 02:56:39 +0000 (11:56 +0900)
committerTristan Van Berkom <tristanvb@openismus.com>
Mon, 8 Apr 2013 12:19:27 +0000 (21:19 +0900)
commit3b7fc8cdc9edab23755c1d79a74555485d14dd9c
treeb86a3b8c88413a28e127684ba38d595a649b283b
parent64b87824c760766b2e83bfc6dad7e69f5c0ca667
Add Composite Child machinery and APIs to GtkWidget

This commit implements the needed machinery for GtkWidget
to build it's composite content from GtkBuilder XML and
adds the following API:

  o gtk_widget_init_template()

    An api to be called in instance initializers of any
    GtkWidget subclass that uses template XML to build it's components.

  o gtk_widget_class_set_template()

    API to associate GtkBuilder XML to a given GtkWidget subclass

  o gtk_widget_class_automate_child()

    API to declare an object built by GtkBuilder to be associated
    with an instance structure offset and automatically set.

 o gtk_widget_get_automated_child()

   API for bindings to fetch a child declared to be automated by
   gtk_widget_class_automate_child(), for the case where bindings
   do not generate GObjects under the hood and cannot use structure
   offsets to resolve composite object pointers.

 o gtk_widget_class_declare_callback[s]()

   Declare static functions to be used in signal callbacks from
   a given class's template XML

 o gtk_widget_class_set_connect_func()

   API for bindings to override the signal connection machinery
   for a given GtkWidget derived class.
docs/reference/gtk/gtk3-sections.txt
gtk/gtk.symbols
gtk/gtkbuilder.c
gtk/gtkbuilder.h
gtk/gtktypes.h
gtk/gtkwidget.c
gtk/gtkwidget.h